package cc.verywell.pureblock.func;

import java.nio.ByteBuffer;

import cc.verywell.pureblock.func.node.NodeBucket.ValueShell;
import cc.verywell.pureblock.net.Context;
import cc.verywell.pureblock.net.Msg;
import cc.verywell.pureblock.net.NormalSession;

/**
* 
* FuncList 和 FuncProvider 其实都是一个东西，FuncList作为NormalSession的直接类，可以查找哪个FuncPovider能用.
* 
* Copyright 2019 TanYaqiu
* @author TanYaqiu 
* @address flat 601
* @date 2019年3月17日 下午9:06:53
*/
public interface FuncList extends Context{
	Msg decode(ByteBuffer bb,NormalSession nc);
	void encode(Msg msg,NormalSession nc,ByteBuffer bb);
	boolean hasFunc(FuncProvider provider);
	ValueShell getNode();
}
